package com.situ.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.situ.model.Cart;
import com.situ.model.Order;
import com.situ.model.search.OrderSearchBean;

import java.util.List;

public interface OrderService {

    //查询订单
    Page<Order> findAll(Page<Order> page, OrderSearchBean searchBean);

    //根据秒杀编号查订单信息
    Order findBySeckillNo(String seckillNo);

    //根据id查询订单信息
    Order findById(Integer id);

    //修改订单
    Order updateOrder(Order order);

    //删除订单(支付失败)
    Integer deleteOrder(List<Integer> ids);

    //查询流水
    Page<Order> findMoneyByUserId(Integer userId);

    //创建订单
    boolean createOrder(List<Cart> carts);

    //创建秒杀订单
    Order createSeckillOrder(Order order);

    //前台点击支付按钮，将支付状态改为已支付（1）
    //todo调用支付接口
    boolean updatePayStatus(Integer id);

    //后台点击发货，将发货状态改为已发货（2）
    boolean updateOrderStatusTo2(Integer id);

    //前台点击确认收货，将订单状态改为已完成（3）
    boolean updateOrderStatusTo3(Integer id);

    //12小时未支付，订单状态改为已取消（4）
    boolean updateStatusTo4(Integer id);

    //前台用户点击退款，将订单状态改为退款待确认（5）
    boolean updateStatusTo5(Integer id);

    //退款成功，订单状态改为退款成功（6）
    boolean updateStatusTo6(Integer id);

}
